<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>冒泡排序</title>
  </head>
  <body>
    <script>
      /*
       * 冒泡排序（Bubble Sort）思路：
       * 1、数组中的第0个与第1个进行比较，
       *    + 如果第0个比第1个大，那吗就交换位置；
       * 2、数组中的第1个与第2个进行比较，
       *    + 如果第1个比第2个大，那吗就交换位置；
       * 3、数组中的第2个与第3个进行比较，
       *    + 如果第2个比第3个大，那吗就交换位置；
       *  ......
       * 4. 一直到数组遍历一遍，最大的那个数字一定在最后面；
       * 5. 以上重新执行遍历数组的（length-1）次
       */
      var bubbleArr = [4, 2, 1, 3];
      console.log("bubbleArr=", bubbleSort(bubbleArr));

      /**
       * array 被排序的数组
       */
      function bubbleSort(array) {
        //数组遍历一遍，最大的那个数字一定在最后面，因此只需要遍历length-1次
        for (let i = 0; i < array.length; i++) {
          //某数组元素遍历一遍
          for (let j = 0; j < array.length - 1; j++) {
            //交换位置
            if (array[j] > array[j + 1]) {
              var temp;
              temp = array[j];
              array[j] = array[j + 1];
              array[j + 1] = temp;
            }
          }
        }
        return array;
      }
    </script>
  </body>
</html>
